#ifndef __CAPAFISICA_CONTENEDOR_H
#define __CAPAFISICA_CONTENEDOR_H

/******************************************************************************
*                     Organizaci�n de Datos - 75.06                          *
*                         C�tedra Lic. Servetto                              *
*            Facultad de Ingenier�a - Universidad de Buenos Aires            *
******************************************************************************/ 

#include <string>
#include <fstream>
#include <list>

using namespace std;

namespace CapaFisica
{

	struct ClaveValor
	{

		public:

		string Clave;
		string Valor;

	};

	class Atributo
	{	

		public:

		string* Nombre;
		char Tipo;
		string* Valor;

	};

	class Grupo
	{

		public:

		Grupo(string nombre);		
		list<ClaveValor>* Valores;
		string nombre;
	
	};

	class Metadata
	{
	
		public:

		Metadata(string nombreClase);
		list<Grupo>* Grupos;	

	};

	class Contenedor
	{

		public:

		Contenedor();
		int Tamanio;
		list<Atributo>* Atributos;
		list<Contenedor>* Hijos;
		int TamanioMaximo;
		short CantidadMaximaDeHijos;

		
	};	

}

#endif
